#!/usr/bin/env python3  /*设定脚本文件直接能执行*/
# -*- coding:utf-8 -*-   /*设置编码*/
"""
@Author: zhuo
@Software: PyCharm
@File: tQAlarmBox.py
@Time: 2024/1/19 13:58
@Function：ctQAlarmBox：自定义报警信息提示框.
"""
import os

from PySide6.QtWidgets import *
from PySide6.QtGui import *
from tBLL.tFileINI import ctFileINI

ALARM_RED = "#FC5531"    # 红色
COSMO_BLUE = "#005AAA"   # 卡奥斯蓝
HAIER_BLUE = "#1296DB"   # 海尔蓝


class ctQAlarmBox(QWidget):
    """
    自定义登录框：可实现登录、用户新增删除、用户信息更改功能。
    """

    # 初始化
    def __init__(self):
        """
        function:  初始化
              in:
             out:  None
          return:  None
          others:  Initialize
        """
        # 继承自父类
        super(ctQAlarmBox, self).__init__()
        # 设置固定宽度和登录框保持一致
        self.setFixedWidth(260)
        self.lblTimes = QLabel("0")
        self.txtAlarmMsg = QTextEdit()
        self.alarmTimes = 0
        # 调用报警信息提示框布局函数
        self.__f_alarmMsgLayoutFunc()

    # 报警信息提示框布局
    def __f_alarmMsgLayoutFunc(self):
        """
        function:  报警信息提示框布局
              in:  None
             out:  None
          return:  None
          others:  Alarm Information Prompt Box Layout
        """
        # 总布局:垂直布局
        layoutMain = QVBoxLayout()
        self.setLayout(layoutMain)
        # 图标行布局:水平布局
        layoutIcon = QHBoxLayout()
        # 输入为图片路径，比如ico文件内的icon.png图片
        lblIcon = QLabel()
        lblIcon.setPixmap(QPixmap("./ico/alarm.png"))
        lblIcon.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
        lblIcon.setFixedSize(55, 55)
        # 设置图标自适应
        lblIcon.setScaledContents(True)
        # 信息行布局:垂直布局
        layoutMsg = QVBoxLayout()
        lblAlarmTimes = QLabel("报警次数")
        lblAlarmTimes.setFixedSize(200, 35)
        # 报警次数布局:水平布局
        layoutTimes = QHBoxLayout()
        # 设置字体大小为12、字体为粗体
        lblAlarmTimes.setStyleSheet("font-size: 12pt;font-weight:bold;")
        # 创建一个弹簧，设置QSizePolicy策略
        spacer = QSpacerItem(180, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
        self.lblTimes.setFixedHeight(20)
        # 设置字体大小为12
        self.lblTimes.setStyleSheet("font-size: 12pt;font-weight:bold;")
        # 多行文本框设置为禁用
        self.txtAlarmMsg.setStyleSheet(f"color:{ALARM_RED};font-size: 10pt")
        self.txtAlarmMsg.setReadOnly(True)
        layoutTimes.addItem(spacer)
        layoutTimes.addWidget(self.lblTimes)
        layoutTimes.addWidget(QLabel("次"))
        layoutMsg.addWidget(lblAlarmTimes)
        layoutMsg.addLayout(layoutTimes)
        layoutIcon.addWidget(lblIcon)
        layoutIcon.addLayout(layoutMsg)
        layoutMain.addLayout(layoutIcon)
        layoutMain.addWidget(self.txtAlarmMsg)
